/**************************************************************************************
*
*	Copyright (C) 2009 - 2012 Brent Andrew O. Chua - See LICENSE.txt for more info.
*		
*	Filename	-	DepthStencilViewDesc.h
*
*	Description -	Depth Stencil View Desc
*
*	Comments	-
*
*	Modification History:
*			Name			   Date					Description
*			MrCodeSushi	-	12/16/2012	-	Creation of this file
**************************************************************************************/
#ifndef _PSX_DEPTH_STENCIL_VIEW_DESC_H_
#define _PSX_DEPTH_STENCIL_VIEW_DESC_H_

#include "PulseSTD.h"
#include "GraphicsTypes.h"

namespace Pulse
{
	PSX_EnumBegin( EDSVReadOnlyFlag ) 
		NONE			=	0,
		DEPTH			= 0x1L,
		STENCIL			= 0x2L,
		DEPTH_STENCIL	= 0x3L,
	PSX_EnumEnd()

	class DepthStencilViewDesc
	{
	public:

		DepthStencilViewDesc( void );

		void Set( EGraphicsFormat::Type format, EGraphicsDSVDimension::Type dimension, 
			EDSVReadOnlyFlag::Type readOnlyFlag, Tex2DInfoDSV *pTex2DInfo );

		void SetDefaults( void );

	public:

		EGraphicsFormat::Type		m_format;
		EGraphicsDSVDimension::Type	m_dimension;
		EDSVReadOnlyFlag::Type		m_readOnly;

		union
		{
			Tex2DInfoDSV m_tex2D;
		};
		

	};
}

#endif /* _PSX_DEPTH_STENCIL_VIEW_DESC_H_ */